var sql = {};
var redis = require("redis");
var db = require("./sql.config");


 
/*client.on("error", function (err) {
  console.log("Error :" , err);
});
*/
sql.getConnection = function(callback){
	var client = redis.createClient(db.PORT, db.URL,db.OPTIONS);
	client.on("error", function (err) {
	  callback(err,null)
	});
	client.on('connect', function(){
	  console.log('Redis连接成功.');
	  callback(null,client)
	})
}
 
/*client.on('connect', function(){
  console.log('Redis连接成功.');
})*/
 
/**
 * 添加string类型的数据
 * @param key 键
 * @params value 值 
 * @params expire (过期时间,单位秒;可为空，为空表示不过期)
 * @param callBack(err,result)
 */
sql.set = function(conn,key, value, expire, callback){
 
	conn.set(key, value, function(err, result){
 
		if (err) {
			console.log(err);
			callback(err,null);
			return;
		}
 
		if (!isNaN(expire) && expire > 0) {
			conn.expire(key, parseInt(expire));
		}
 
		callback(null,result)
	})
}
 
/**
 * 查询string类型的数据
 * @param key 键
 * @param callBack(err,result)
 */
sql.get = function(conn,key, callback){
 
	conn.get(key, function(err,result){
 
		if (err) {
			console.error(err);
			callback(err,null)
			return;
		}
 
		callback(null,result);
	});
}
/**
 * 
 * @param {Object} conn   //数据库连接
 * @param {Object} db     //库存[0-15]
 * @param {Object} callback  //回调
 */
sql.select =function(conn,db,callback){
	conn.select(db, function(error){
	    if(error) {
	        callback(error);
	    } else {
	       callback(null)
	    }
	});
}
/**
 * 关闭redis连接
 * @param {Object} conn   //关闭连接
 */
sql.end = function(conn){
	conn.end(true);
	console.info(" redis colse!")
}
 
module.exports = sql;